package.json and package-lock.json

走进package.json and package-lock.json

package-lock.json是当 node_modules 或 package.json 发生变化时自动生成的文件。这个文件主要功能是确定当前安装的包的依赖,以便后续重新安装的时候生成相同的依赖,而忽略项目开发过程中有些依赖已经发生的更新。
npm 5.2.4版本后,如果改了package.json,且package.json和lock文件不同,那么执行npm i时npm会根据package中的版本号以及语义含义去下载最新的包,并更新至lock。

package-lock.json作用
  1. 安装之后锁定包的版本,手动更改package.json文件安装将不会更新包,想要更新只能使用 npm install xxx@1.0.0 –save 这种方式来进行版本更新package-lock.json 文件才可以
  2. 加快了npm install 的速度,因为 package-lock.json 文件中已经记录了整个 node_modules 文件夹的树状结构,甚至连模块的下载地址都记录了,再重新安装的时候只需要直接下载文件即可
    1
    2
    3
    4
    //指定安装依赖的版本号:
    * '1.0.13' 表示安装指定的版本号,也就是安装1.0.13版本。
    * '~1.0.13' 表示安装1.0.x的最新版本,安装时不改变大版本号和次要版本号。
    * '^1.0.13' 表示安装1.x.x的最新版本,安装时不改变大版本号。
dependencies,devDependencies
1
2
3
4
5
6
7
8
9
10
11
12
--save参数表示将该模块写入dependencies属性,简写: -S,
--save-dev表示将该模块写入devDependencies属性,简写: -D。
//生产环境下使用
"dependencies": {
"axios": "^0.18.0",
"vue": "^2.5.2",
"vue-router": "^3.0.1"
},
//开发环境下使用
"devDependencies": {
"webpack-dev-server": "^2.9.1"
}
shadow wechat
扫一扫,关注微信公众号。